package Day16.final_;

/**
 * @author HYHwtx
 * @version 1.0
 * @date 2022/2/23 10:27
 */

/*
* final
* 基本介绍：最后的
* fina可以修饰类，属性，方法和局部变量
* 在某些情况下，有一下需求时，使用
* 1.当不希望类被继承的时候，就可以用final来修饰
* 2.当不希望父类的某个方法被子类覆盖/重写(override),可以使用final关键字修饰
* 3.当不希望类的某个属性的值被修改，可以使用final修饰
* 4.当不希望某个局部变量被修饰，可以使用final修饰
*
* */
public class Final01 {
    public static void main(String[] args) {

    }
}
//当要求A类不能被其他类继承，可以使用final修饰A类
final class A{

}
//class B extends A{ }

class C{
    //要求hi方法不能被子类重写，可以使用final修饰
    public final void hi(){

    }
}
class D extends  C{
//    public void  hi(){
//        System.out.println("重写了C类的h1方法");
//    }
}


//当不希望类的某个属性的值被修改，可以使用final修饰
class E{
    public  final  double TAX_RATE = 0.08F;

}
//当不希望某个局部变量被修改，可以使用final来修饰
class F{
    public void cry(){
        final double Num = 0.01;
        //此时，Num也称为局部变量
//        Num = 0.9;
        System.out.println(Num);
    }
}